home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micro Mail / MicroMail.jar / MessageList.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-14  |  4.2 KB  |  130 lines

  1. import java.io.IOException;
  2. import javax.microedition.lcdui.Command;
  3. import javax.microedition.lcdui.CommandListener;
  4. import javax.microedition.lcdui.Displayable;
  5. import javax.microedition.lcdui.Image;
  6. import javax.microedition.lcdui.List;
  7. import javax.microedition.lcdui.Screen;
  8.  
  9. public class MessageList extends List implements CommandListener {
  10.    private MicroMail midlet;
  11.    private Displayable parent;
  12.    int activeBoxId;
  13.    private Image imageUnread = null;
  14.    private String imageUnreadName = "/images/EmailUnread.png";
  15.    private String imageReadName = "/images/EmailRead.png";
  16.    private Image imageRead = null;
  17.    Command backCommand;
  18.    Command downloadCommand;
  19.    Command sendallCommand;
  20.    Command newCommand;
  21.    Command deleteCommand;
  22.    Command deleteAllCommand;
  23.  
  24.    public MessageList(MicroMail var1, int var2) {
  25.       super(MessageHandler.getBoxName(var2) + "(" + MicroCache.getBoxSize(var2) + ")", 3);
  26.       this.backCommand = new Command(MicroMail.r.getText(1), 2, 4);
  27.       this.downloadCommand = new Command(MicroMail.r.getText(9), 1, 1);
  28.       this.sendallCommand = new Command(MicroMail.r.getText(10), 1, 1);
  29.       this.newCommand = new Command(MicroMail.r.getText(11), 1, 2);
  30.       this.deleteCommand = new Command(MicroMail.r.getText(3), 1, 3);
  31.       this.deleteAllCommand = new Command(MicroMail.r.getText(51), 1, 4);
  32.       this.midlet = var1;
  33.       this.activeBoxId = var2;
  34.  
  35.       try {
  36.          this.imageUnread = Image.createImage(this.imageUnreadName);
  37.          this.imageRead = Image.createImage(this.imageReadName);
  38.       } catch (IOException var4) {
  39.       }
  40.  
  41.       ((Displayable)this).setCommandListener(this);
  42.       if (var2 == 1) {
  43.          ((Displayable)this).addCommand(this.downloadCommand);
  44.       } else if (var2 == 2) {
  45.          ((Displayable)this).addCommand(this.newCommand);
  46.          ((Displayable)this).addCommand(this.sendallCommand);
  47.       }
  48.  
  49.       ((Displayable)this).addCommand(this.backCommand);
  50.       ((Displayable)this).addCommand(this.deleteCommand);
  51.       ((Displayable)this).addCommand(this.deleteAllCommand);
  52.       this.displayMessageList(var2);
  53.       System.gc();
  54.    }
  55.  
  56.    public void appendItem(String var1) {
  57.       ((List)this).append(var1, this.imageUnread);
  58.    }
  59.  
  60.    public void commandAction(Command var1, Displayable var2) {
  61.       MicroMail.mainScreen.setButtonReleased(true);
  62.       if (var1 == this.backCommand) {
  63.          MicroMail.display.setCurrent(MicroMail.mainScreen);
  64.          MicroMail.dispose(this);
  65.       } else if (var1 == this.downloadCommand) {
  66.          ProgressForm var3 = new ProgressForm(this.midlet, true);
  67.          MicroMail.display.setCurrent(var3);
  68.          MicroMail.dispose(this);
  69.       } else if (var1 == this.sendallCommand) {
  70.          ProgressForm var5 = new ProgressForm(this.midlet, false);
  71.          MicroMail.display.setCurrent(var5);
  72.          MicroMail.dispose(this);
  73.       } else if (var1 == this.newCommand) {
  74.          MessageForm var6 = new MessageForm(this.midlet, this, (Message)null, -1);
  75.          MicroMail.display.setCurrent(var6);
  76.       } else if (var1 == this.deleteCommand) {
  77.          int var7 = ((List)this).getSelectedIndex();
  78.          if (var7 > -1) {
  79.             Message var4 = MicroCache.getMessage(this.activeBoxId, var7);
  80.             MicroCache.deleteMessage(this.activeBoxId, var7, var4);
  81.             this.deleteItem(var7);
  82.             Object var9 = null;
  83.          }
  84.       } else if (var1 == this.deleteAllCommand) {
  85.          MicroCache.deleteBox(this.activeBoxId);
  86.          MicroMail.display.setCurrent(MicroMail.mainScreen);
  87.          MicroMail.dispose(this);
  88.       } else if (var1.equals(List.SELECT_COMMAND)) {
  89.          int var8 = ((List)this).getSelectedIndex();
  90.          if (var8 > -1) {
  91.             MessageDetails var10 = new MessageDetails(this.midlet, this, this.activeBoxId, var8);
  92.             MicroMail.display.setCurrent(var10);
  93.          }
  94.       }
  95.  
  96.    }
  97.  
  98.    public void deleteItem(int var1) {
  99.       ((List)this).delete(var1);
  100.       ((Screen)this).setTitle(MessageHandler.getBoxName(this.activeBoxId) + "(" + MicroCache.getBoxSize(this.activeBoxId) + ")");
  101.    }
  102.  
  103.    public int displayMessageList(int var1) {
  104.       byte var2 = 0;
  105.       int var3 = MicroCache.getBoxSize(var1);
  106.       MicroCache.refreshMessageList(var1);
  107.       if (MicroCache.getBoxSize(var1) > 0) {
  108.          for(int var5 = 0; var5 < var3; ++var5) {
  109.             MessageListItem var4 = MicroCache.getMessageListItem(var1, var5);
  110.             if (var4.unread) {
  111.                ((List)this).append(var4.subject, this.imageUnread);
  112.             } else {
  113.                ((List)this).append(var4.subject, this.imageRead);
  114.             }
  115.          }
  116.       }
  117.  
  118.       return var2;
  119.    }
  120.  
  121.    public void updateItem(int var1, String var2, boolean var3) {
  122.       if (var3) {
  123.          ((List)this).set(var1, var2, this.imageRead);
  124.       } else {
  125.          ((List)this).set(var1, var2, this.imageUnread);
  126.       }
  127.  
  128.    }
  129. }
  130.